package cn.common.mybatis;

public interface Translator 
{
	public String batchBegin();

	public String batchEnd();
	
	/**当前时间：sysdate
	 * sysdate
	 * now()*/ 
	public String sysdate();
	
    /**序列：nextvalSql('')
    * 	SELECT SEQ_WF_BS_APPLY_ID.NEXTVAL FROM DUAL
    * 	SELECT _nextval('SEQ_WF_BS_APPLY_ID')*/ 
	public String nextvalSql(String seqName);
	
	/**序列：nextval('')
		SEQ_FILE_ID.NEXTVAL
		_nextval('SEQ_FILE_ID')*/ 
	public String nextval(String seqName);
	
	/**连接字符串：concate(,,,,)	
		'%'||#{applyName}||'%'
		concat('%',#{applyName},'%')*/ 
	public String concat(String...str);
	
	/**获取一些主键：nextvalN('',n)   ??   callstatement
		SELECT SEQ_OPERATE_PARAMS_ID.NEXTVAL FROM DUAL CONNECT BY LEVEL<=#{n}
		call _nextvalN('SEQ_OPERATE_PARAMS_ID',#{n})*/ 
	public String nextvalN(String seqName,String n);
	
	/**限制：limit(n,hasCriteria)
		AND  ROWNUM<2
		limit 1*/ 
	public String limit(String count,boolean hasCriteria);

	/**字符串转日期 strToDate('',format) format: yyyy-MM-dd HH:mm:ss 或 yyyy-MM-dd 
	to_date( #{qSyncBeginTimeBegin},'yyyy-MM-dd HH24:mi:ss')
	DATE_FORMAT( #{qSyncBeginTimeBegin},'%Y-%m-%d  %H:%i:%s')*/ 
	public String strToDate(String dateStr,String format);
	
	/**关键字处理 keywordEscape
		"ORDERS"
		`ORDERS`*/
	public String keywordEscape(String keyword);

}
